【非水】编写代码你可能需要知道的知识
id: 6038262412 | 楼主:马里奥X7 | 返回首页
id: 124135930159
1L | 作者:马里奥X7 | 发布于 2019-02-16 22:59

rt,最近闲着没事,为了方便编写新手查阅,这里列出几个写代码时常用的几个数学原理


id: 124136008598
2L | 作者:马里奥X7 | 发布于 2019-02-16 23:04

1.方向与角度的关系
在mmf/ctf中,方向最多为32个。角度为了方便以周角360°为准。那么如果我们记方向为δ,角度为α,则
α/δ=360/32=11.25
这个我们成为方向-角度系数,记作σ,则
α=σδ



id: 124136049143
3L | 作者:马里奥X7 | 发布于 2019-02-16 23:06

实例:比如我想用角度操控方向,则可以这么写:
always:
set dir of obj. to dir(obj)*11.25*1.0
这里加了个*1.0意思是声明计算机,使其进行浮点数运算



id: 124136176196
4L | 作者:马里奥X7 | 发布于 2019-02-16 23:14

2.正弦/余弦运动
首先我们来说一下什么是正弦和余弦
如图,在rt△ABC(ABC图上忘标了)中,斜边为r,底角为α,则其正弦就是rsinα,余弦就是rcosα。说的通俗些,三角形的底直角边长就是其斜边的余弦rcosα,其侧直角边长就是其斜边的正弦rsinα。这个是锐角三角函数的定义。



id: 124136415090
5L | 作者:马里奥X7 | 发布于 2019-02-16 23:27

随着α的增大,α的正弦值也会随着增大,其余弦值则会减小。我们可以扩展到更为一般的情况。
如图,在圆O中,r=1,即o为单位圆。如图,设其所构成的直角三角形底角为α,,半径与圆交于一点p,则
Xp=rcosα
Yp=rsinα
也就是说,p点的坐标为(rcosα,rsinα)
那么借助这个图,我们可以推广到全周角的情况。如果p在第二象限,则其底角的余弦值是个负值。同时,这个时候的底角σ为钝角;当p在第三象限时,其纵坐标为负值,即rsinα<0,这时α为优角;当p在第四象限时,p的横坐标为正,纵坐标为负,这时rcosα>0,rsinα<0



id: 124136516874
6L | 作者:马里奥X7 | 发布于 2019-02-16 23:33

那么如果我们让p从α=0°的地方开始做逆时针的匀速圆周运动,并且将其在每隔一个时间间隔(时间间隔t→0)纵轴上的点向右做匀速直线运动的话,那么所形成的曲线就是正弦曲线,将正弦曲线向左平移π/2(也就是半个上驼峰)个单位,便得到的是余弦曲线。


id: 124136562689
7L | 作者:马里奥X7 | 发布于 2019-02-16 23:36

那么我们如果想做标准的正弦运动的话,在水平方向上,让这个物件做匀速直线运动,竖直方向上做简谐运动(正弦运动)即可,竖直方向上的简谐运动只需要沿着p运动的轨迹想就行了(不要考虑p在水平方向上的运动 只想着p在竖直方向上的运动)。但是角度是要增加的,因此我们引入了角速度这个概念


id: 124136718243
9L | 作者:马里奥X7 | 发布于 2019-02-16 23:45

角速度,mmf/ctf中单位为rad/s 或 rad/fr ,符号为ω,指的是一个角在一定时间内角度的增量。
在ctf中,角速度即:
always/every st.:
Set Angle/Value A to Angle(obj) + k/ A+k,而这个k就是角速度。
那么要想让一个物件做圆周运动/正余弦运动,就不能离开角速度这个物理量。其原因是正(余)弦函数的表达式为:
y=Asin/cos(ωx+φ),A为振幅,表示该正(余)弦函数的最值的绝对值,而ω就是角速度,φ为初相,这里为了方便令φ=0则上式为
y=Asin/cos(ωx)
如果ω=0,既没有角速度,那么x就是0,则正余弦永远就是一个定值A(余弦)或者0(正弦)



id: 124136791570
11L | 作者:马里奥X7 | 发布于 2019-02-16 23:50

那么回到正题,如果要做一个正弦运动的物件,则代码为:
Flag 0 is off:
Set Val_Y to obj.y
Set flag 0 to on
Always:
Set X to obj.x + a
Set Y to obj.val_y +val_r*sin(val_z)
Add ω to val_z
其中a为匀速直线运动速率,ω就是角速度,val_r为运动半径



id: 124140880574
12L | 作者:Whirlwind_boy | 发布于 2019-02-17 09:49

顶帖
顺便复习一下数学和物理



id: 124142991778
13L | 作者:1168438795 | 发布于 2019-02-17 12:25

首先有这种贴子要好评一个
不过新人我感觉很有可能会被吓到(



id: 124148700897
14L | 作者:无视我…… | 发布于 2019-02-17 18:59

编写代码你可能会被劝退的知识(bushi


id: 124186225157
15L | 作者:巃嵸巋巚 | 发布于 2019-02-19 21:28

MMF:从入门到劝退


id: 124202326388
16L | 作者:吃瓜群众258_ | 发布于 2019-02-20 20:20

MMF:从入门到入土


id: 124203738655
17L | 作者:zqh——123 | 发布于 2019-02-20 21:47

MMF:从入门到出门


id: 124219619501
18L | 作者:快乐mario8 | 发布于 2019-02-21 20:46

MMF:从入门到关门


id: 124219675776
19L | 作者:李泽LXVI | 发布于 2019-02-21 20:49

MMF:从入门到停止


id: 124224471698
20L | 作者:肥羊羊98 | 发布于 2019-02-22 02:52

MMF:从删库到跑路


id: 124241541135
21L | 作者:yjs2005219 | 发布于 2019-02-23 07:00

MMF:从入门到入坟


id: 124244945696
22L | 作者:巃嵸巋巚 | 发布于 2019-02-23 12:29

MMF:从入门到秃头


id: 124247916404
23L | 作者:数字1528君 | 发布于 2019-02-23 16:01

MMF:从入门到去世


id: 124255420080
25L | 作者:色粉堵塞 | 发布于 2019-02-24 00:01

MMF:从入门到退坑


id: 124261401767
26L | 作者:数字1528君 | 发布于 2019-02-24 12:29

MMF:从入门到水贴